An enterprise application, such as an end-to-end enterprise business application, is a complex application that comprises multiple tiers and subsystems of various technologies that include more than computer program code (e.g., Java). Typically, the enterprise application will comprise at least a presentation tier, a business logic tier, and a data/Enterprise information system (EIS) access tier. The data/EIS access tier provides connectivity to various back end services. Each tier will generally include one or more components that provide necessary functionality. To this extent, creating the enterprise application requires expertise from several areas.
In general, each component is developed independently by an expert and/or team of experts for the particular component. This development is frequently aided by the use of one of many off-the-shelf Integrated Development Environments (IDEs). For example, the WebSphere Studio Application Developer Integration Edition (WSAD-IE) offered by International Business Machines Corp. (IBM) of Armonk, N.Y., includes a strut web diagram editor for modeling presentation flow, a WSAD-IE Process Editor for modeling business process execution language (BPEL)-based business processes, and other editors, such as an extensible markup language (XML) editor and a Java editor, for other purposes. However, WSAD-IE and other similar IDEs do not provide a tool-assisted mechanism to combine the components developed for the construction of the multi-tiered enterprise application at build time.
Increasingly, it is desirable to integrate disparate middleware applications, and in response, IDEs have incorporated the disparate development tools for these applications. However, no progress has been made in the interoperability of these disparate development tools. To this extent, many development tools are developed with their purpose and scope limited to the particular application, without regard to other development tools and a possibility of interoperability with these other development tools. As a result, a developer frequently needs to switch between multiple development tools to develop the components and later manually integrate the components. This disparity and limited interaction between development tools hinders the productivity and efficiency in the development of the enterprise application. Further, the IDE does not provide a “big picture” (e.g., end-to-end) view of the architecture of the enterprise application.
To this extent, a need exists for an improved method, system, and IDE for managing development of an enterprise application that generate a complete view of the architecture of the enterprise application and/or improve interaction between the various disparate development tools used to develop the enterprise application.